1. Field of the Invention
The present invention relates to a technique of continuously installing a plurality of software programs in a computer.
2. Description of the Related Art
In recent years, it is common practice to distribute program files and data files via an exchangeable medium such as a CD-ROM or a network system such as the Internet. In this case, a program called an installer is generally attached to the distribution target program. The installer copies the distributed file in a storage device such as a hard disk connected to a computer system at the distribution destination, thereby making the distributed program executable in the computer system. The installer also has a function of automatically adjusting necessary settings on the operating system
Patent reference 1 (Japanese Patent Laid-Open No. 10-027090) creates an installer by preparing an installer executable file and a data file storing information necessary for installation as separate files. An installer dedicated to specific software is created by rewriting only the data file without changing the installer executable file. This technique simplifies the installer creation procedure.
As the scale of software increases recently, it also has become common practice to separate software into a plurality of components and independently develop each of them. A merit of this developing method is that it is unnecessary to match the schedule of development and distribution to the market between all components. However, to increase the efficiency of this developing method, the installers of the components are also independently developed.
For example, assume that software A contains code that calls components B and C. If the software A and components B and C have no separate installers, a single installer to simultaneously install them is created. If the component C is modified, it is necessary to modify the whole installer. The modified installer, therefore, needs to be redistributed even for the unmodified code of software A and component B.
In a technique generally used to avoid this problem, an installer for the software A, an installer for the component B, and an installer for the component C are independently provided in the above example. Additionally, a program called a master installer to continuously execute the plurality of software installers is distributed simultaneously.
Some systems wherein such a master installer continuously activates a plurality of installers display a window to allow a user to select software to be installed. For example, a window to make a user select whether to install each software program onto a computer is displayed. A user who does not require, e.g., panoramic image composition can omit installation of panoramic image composition software.
FIG. 24 shows an example of a software selection window. A check box region 2401 makes a user select installation execution/non-execution of each software. The user can select software by clicking on this region. A software name display region 2402 displays software names. A disk capacity display region 2403 displays a disk capacity necessary for installation of software. A sum of disk capacities necessary for software is displayed here. A software explanatory text region 2404 displays an explanation of software selected from the software list.
This window is displayed by the above-described master installer. For example, if the disk capacity necessary for installation of certain software changes, information the master installer displays also needs to change. The master installer must always grasp the latest information of each software and continuously update the information to the latest version. This requires developers to expend enormous efforts.
To, e.g., extract only specific software and distribute it to users in a system wherein a master installer executes a plurality of software installers, it is necessary to attach the master installer to the software. However, the master installer is not designed to install single software and therefore needs to be modified for single software installation.
The above-described system that continuously activates a plurality of installers has still another problem. Since the system continuously executes a plurality of installation processes, a long time is required until the whole installation process finishes. In many cases, the master installer shows the state of progress of the installation process to the user.
For example, conventionally, the master installer that controls the entire installation process causes the installer of each software to display the state of progress of installation, though the state of progress of whole installation process is not displayed. The user can grasp the state of progress of installation process of each software but not the state of progress of whole installation process.
Patent reference 2 (Japanese Patent No. 03578135) proposes a technique of solving this problem. The total number of drivers to be installed is represented by 100%, which is divided by the number of drivers to be installed. When installation actually starts, the state of progress approaches 100% on the basis of the number of installed drivers. In this way, the state of progress of whole installation process of device drivers is expressed on the basis of the number of drivers. This proposal allows a user to know the state of progress of whole installation process on the basis of the number of drivers.
This proposal however has the following problem. Software to be installed has an equal size only in a rare case. It is sometimes impossible to accurately show the state of progress of whole installation process by the number of software programs because the degree of progress changes between them.